Packet-based data networks are widely used to link various types of network elements, such a personal computers, network telephones, Internet appliances, personal digital assistants (PDAs), mobile telephones, and so forth. Many types of communications are possible over packet-based data networks, including electronic mail, web browsing, file downloads, electronic commerce transactions, voice or other forms of real-time, interactive communications, and so forth.
One type of a packet-based network is an Internet Protocol (IP)-based network. Communications over a packet-based network is performed using packets or datagrams that are typically sent in bursts from a source to one or more destination points. A network element is typically assigned a network address (e.g., an IP address). A packet sent across a data network includes a source network address (of the transmitting network element) and a destination network address (of the destination network element). Routers in the data network route each packet over network paths based on the source and destination addresses. Such communications over packet-based networks are referred to as packet-switched communications.
Mobility of network elements (such as notebook computers or PDAs) is a desired feature. As a user travels between different points, the point of attachment of the network element associated with the user may change. The user can potentially move from his or her home network (first point of attachment) to another network, referred to a visited or foreign network (second point of attachment). The point of attachment of a mobile network element to a network can either be a wired attachment or wireless attachment. An example of a wired attachment is using a network cable to connect the mobile network element to a port in a wall outlet that connects to a network. An example of a wireless point of attachment is a wireless link between a mobile station and a base station of a mobile communications network (such as a cellular communications network). In the latter case, the mobile station can be a mobile telephone or any other portable device that is capable of communicating wireless signaling with base stations associated with the mobile communications network.
To provide enhanced flexibility and convenience in allowing a user to change points of attachment across different networks, the Mobile IP protocol has been defined. The Mobile IP protocol defines a home agent, which is a router in the home network of a mobile network element that is responsible for tunneling packets for delivery to the mobile network element when it is away from the home network. The home agent maintains the current location information for the mobile network element. The Mobile IP protocol also defines a foreign agent, which is a router in the visited or foreign network that the mobile network element is currently attached to. The foreign agent provides routing services to the mobile network element, and detunnels and delivers packets to the mobile network element that were tunneled by the mobile network element's home agent.
For increased flexibility, the home agent is not necessarily limited to a static home agent located in the home network of a mobile network element. In some cases, dynamic home agent allocation can be performed by a home or foreign network. However, existing proposals for dynamically assigning a home agent in a home or foreign network are relatively inefficient.